package com.xiaojiang.controller;

import cn.dev33.satoken.util.SaResult;
import com.xiaojiang.dto.UpdateUserPwdDto;
import com.xiaojiang.dto.UserLoginDto;
import com.xiaojiang.dto.UserQueryAllDto;
import com.xiaojiang.entity.UserAll;
import com.xiaojiang.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * 功能：
 * 作者：小江
 * 日期：2024年10月22日
 */
@RestController
@RequestMapping("/api")
public class UserController {

    @Autowired
    private UserService userService;

    @PostMapping("/user/login")
    public SaResult loginUser(@RequestBody UserLoginDto userLoginDto) {
        return userService.loginUser(userLoginDto);
    }

    @PostMapping("/user/register")
    public SaResult registerUser(@RequestBody UserAll userAll) {
        return userService.registerUser(userAll);
    }

    @DeleteMapping("/user/{userId}")
    public SaResult deleteUserById(@PathVariable("userId") Integer userId) {
        return userService.deleteUserById(userId);
    }

    @GetMapping("/user/queryAll")
    public SaResult queryUserAll(UserQueryAllDto userQueryAllDto) {
        return userService.queryUserAll(userQueryAllDto);
    }

    @PatchMapping("/user/updatePwd")
    public SaResult updateUserPwd(@RequestBody UpdateUserPwdDto updateUserPwdDto){
        return userService.updateUserPwd(updateUserPwdDto);
    }
}
